--
-- *****************************************************************
-- CISCO CAT85xx L3 Switch Config MIB
--
-- Oct, 1998 Jane Chang
--
-- Copyright (c) 1996-1998, 1999 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
 
CISCO-C8500-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32              FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP           FROM SNMPv2-CONF
        TEXTUAL-CONVENTION,
        TruthValue,
        DisplayString,
        RowStatus              FROM SNMPv2-TC
        InterfaceIndex         FROM IF-MIB
        ifIndex                FROM RFC1213-MIB
        atmVclVpi, 
        atmVclVci              FROM ATM-MIB
        ciscoExperiment        FROM CISCO-SMI;
 
 
ciscoC8500MIB   MODULE-IDENTITY
     LAST-UPDATED       "9810060000Z"
     ORGANIZATION       "Cisco Systems, Inc."
     CONTACT-INFO
                "       Cisco Systems
                        Customer Service
 
                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA
 
                   Tel: +1 800 553-NETS
 
                E-mail: cs-8500@cisco.com"
     DESCRIPTION
        "This MIB module defines general tables for configuring 
         CISCO CAT 85xx series of L3 Switch/Router Platform(s)."
     ::= { ciscoExperiment 99 } -- assigned by cana@cisco.com

ciscoC8500MIBObjects OBJECT IDENTIFIER ::= { ciscoC8500MIB 1 }

clsSnoopGroup OBJECT IDENTIFIER ::= { ciscoC8500MIBObjects 1 }
clsSnoopVcGroup OBJECT IDENTIFIER ::= { ciscoC8500MIBObjects 2 }

-- Textual Conventions

    AdminStatus ::= TEXTUAL-CONVENTION
        STATUS    current
        DESCRIPTION
        "Admin status of a chassis component."
        SYNTAX     INTEGER {    enable(1),
                                disable(2),
                                reset(3)
                                }

    SnoopType ::= TEXTUAL-CONVENTION
        STATUS    current
        DESCRIPTION
        "Type of Snooping"
        SYNTAX  INTEGER {
                        port(1),  -- port-based snooping
                        vlan(2)   -- vlan-based snooping
                        }
 
    SnoopDirType ::= TEXTUAL-CONVENTION
        STATUS    current
        DESCRIPTION
        "Direction of Snooped Traffic"
        SYNTAX  INTEGER {
                        transmit(1),
                        receive(2),
                        both(3)
                        }
 
    ConnState ::= TEXTUAL-CONVENTION
        STATUS    current
        DESCRIPTION
        "The ConnState textual convention is used to specify different
         connection states.
         The connections states are:
 
         - 'setup', which indicates that the connection entry is to be
         created and installed in the hardware and software connection
         tables.
 
         - 'release', which indicates that the connection entry is to
         be removed from the hardware and software connection tables.
 
         - 'notInstalled', which indicates connection entry is created
         only in the software connection tables. The connection entry is
         not installed in the hardware connection table.
 
         - 'down' which indicates that connection is down and is present
         in both software and hardware connection tables.
 
         - 'up' which indicates that connection is up and is present
         in both software and hardware connection tables.
 
        -  'setup' and 'release' are only two values may be specified
        in a management protocol set operation, only three values will
        be returned in response to a management protocol retrieval
        operation: 'notInstalled', 'down' or 'up'."

        SYNTAX  INTEGER {
                        setup(1),
                        release(2),
                        notInstalled(3),
                        down(4),
                        up(5)
                        }


-- the snooping group
 
clsSnoopTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ClsSnoopEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
        "This table contains entries of snooping sessions configured
         on the system."
        ::= { clsSnoopGroup 1 }
 
clsSnoopEntry OBJECT-TYPE
        SYNTAX     ClsSnoopEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
        "An entry in the Snoop table. This entry models a
         port-based snooping or a vlan-based snooping.
         The ifIndex indicates the snoop destination port."
        INDEX { ifIndex }
        ::= { clsSnoopTable 1 }
 
ClsSnoopEntry ::=
        SEQUENCE {
        clsSnoopType         SnoopType,
        clsSnoopDir          SnoopDirType,
        clsSnoopSrc          DisplayString,
        clsSnoopStatus       AdminStatus,
        clsSnoopRowStatus    RowStatus
        }
 
clsSnoopType    OBJECT-TYPE
        SYNTAX         SnoopType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
        "This specifies the snooping type."
        DEFVAL { port }
        ::= { clsSnoopEntry 1 }

clsSnoopDir    OBJECT-TYPE
        SYNTAX         SnoopDirType
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION
        "This specifies the traffic direction at the snoop src port."
        DEFVAL { receive }
        ::= { clsSnoopEntry 2 }
 
clsSnoopSrc    OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..128))
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Indicates which source port(s) or VLAN(s) are
                       snooped based on the selected snoop type.
 
                       If it's port-based snooping, the source port
                       should be in the format of:
                       [f|g]card/subcard/port, (ie. f2/0/3,f3/0/1,...),
                       and seperate by comma if more than one is
                       configured.
 
                       If it's VLAN-based snooping, this object should
                       contains VLAN ID(s), (ie. 1,2,...), and seperate
                       by comma if multiple VLANs are configured."
        ::= { clsSnoopEntry 3 }
 
clsSnoopStatus OBJECT-TYPE
        SYNTAX        AdminStatus
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "Show the status of snooping.
                       To configure or deconfigure snooping, the interface
                       need to be set to down status first.
                       Once configured, the snooping will remain on
                       disable status until the interface is set to up
                       status which brings snooping to enable status too."
        ::= { clsSnoopEntry 4 }

clsSnoopRowStatus    OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
        "This object is used to create a new row -- createAndGo(4),
         or delete an existing row -- destroy(6)."
        DEFVAL  { active }
        ::= { clsSnoopEntry 5}


-- the snooping vc group
 
clsSnoopVcTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ClsSnoopVcEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
        "This table contains entries of snooping vcs created
         by the system."
        ::= { clsSnoopVcGroup 1 }
 
clsSnoopVcEntry OBJECT-TYPE
        SYNTAX     ClsSnoopVcEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
        "An entry in the Snoop VC table. This entry models a
         vc connection for port-based snooping or vlan-based
         snooping.
 
         The ifIndex indicates the snoop destination interface,
         the atmVclVpi and atmVclVci specifies the VPI and VCI
         value of the snooping connection."
        INDEX { ifIndex, atmVclVpi, atmVclVci }
        ::= { clsSnoopVcTable 1 }
 
ClsSnoopVcEntry ::=
        SEQUENCE {
        clsSnoopVcSnoopedIfIndex    InterfaceIndex,
        clsSnoopVcSnoopedVpi        Integer32,
        clsSnoopVcSnoopedVci        Integer32,
        clsSnoopVcDir               SnoopDirType,
        clsSnoopVcState             ConnState
        }
 
clsSnoopVcSnoopedIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
        "This specifies the ifIndex of the snooped interface."
        ::= { clsSnoopVcEntry 1 }

clsSnoopVcSnoopedVpi OBJECT-TYPE
        SYNTAX         Integer32 (0..4095)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
        "This specifies the VPI value of the snooped connection endpoint."
        ::= { clsSnoopVcEntry 2 }
 
clsSnoopVcSnoopedVci    OBJECT-TYPE
        SYNTAX         Integer32 (0..65535)
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
        "This specifies the VCI value of the snooped connection endpoint."
        ::= { clsSnoopVcEntry 3}
 
clsSnoopVcDir    OBJECT-TYPE
        SYNTAX         SnoopDirType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
        "This specifies the traffic direction at the snooped connection
         endpoint."
        ::= { clsSnoopVcEntry 4 }
 
clsSnoopVcState OBJECT-TYPE
        SYNTAX       ConnState
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
        "The connection state of this Snooping connetion."
        ::= { clsSnoopVcEntry 5 }


-- the following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are backward compatible with SNMPv1 Traps.

ciscoC8500MIBNotifications OBJECT IDENTIFIER ::= { ciscoC8500MIB 2 }
 
-- (no notifications are currently defined)


-- conformance information
 
ciscoC8500MIBConformance OBJECT IDENTIFIER ::= { ciscoC8500MIB 3 }
ciscoC8500MIBCompliances OBJECT IDENTIFIER ::= { ciscoC8500MIBConformance 1 }
ciscoC8500MIBGroups      OBJECT IDENTIFIER ::= { ciscoC8500MIBConformance 2 }


-- compliance statements
 
ciscoC8500MIBCompliance  MODULE-COMPLIANCE
STATUS  current
    DESCRIPTION
    "The compliance statement for the Cisco C85xx groups."
    MODULE  -- this module
    MANDATORY-GROUPS { ciscoC8500MIBGroup }
    ::= { ciscoC8500MIBCompliances 1 }
 

-- units of conformance
 
ciscoC8500MIBGroup   OBJECT-GROUP
    OBJECTS {
                clsSnoopType,
                clsSnoopDir,
                clsSnoopSrc,
                clsSnoopStatus,
                clsSnoopRowStatus,
                clsSnoopVcSnoopedIfIndex,
                clsSnoopVcSnoopedVpi,
                clsSnoopVcSnoopedVci,
                clsSnoopVcDir,
                clsSnoopVcState
    }
    STATUS    current
    DESCRIPTION
    "The Object Group for Cisco C85xx L3 Switch."
    ::= { ciscoC8500MIBGroups 1 }
 
END